package com.soms.dao;

import com.soms.entity.User;

import java.sql.Connection;

public interface UserDao {

    /**
     * 通过角色id查询相关的用户数量
     *
     * @param connection
     * @param roleId
     * @return
     */
    int queryCountByRoleId(Connection connection, int roleId);

    /**
     * 登录校验
     *
     * @param connection
     * @param userCode
     * @param userPassword
     * @return
     */
    boolean doLogin(Connection connection, String userCode, String userPassword);

    /**
     * 根据用户编码查询用户信息
     *
     * @param connection
     * @param userCode
     * @return
     */
    User getUserByUserCode(Connection connection, String userCode);


    /**
     * 登录用户上传头像，保存图片的base64编码
     *
     * @param connection
     * @param userCode
     * @param avatar
     * @return
     */
    int uploadAvatar(Connection connection, String userCode, String avatar);

    /**
     * 根据用户编码查询用户头像
     *
     * @param connection
     * @param userCode
     * @return
     */
    String getAvatar(Connection connection, String userCode);

    /**
     * 修改密码
     *
     * @param connection
     * @param userCode
     * @param userPassword
     * @return
     */
    int updatePassword(Connection connection, String userCode, String userPassword);

    /**
     * 判断用户名是否被其他用户使用
     *
     * @param connection
     * @param userCode
     * @param userName
     * @return
     */
    boolean checkUserNameExist(Connection connection, String userCode, String userName);

    /**
     * 用户自己修改个人信息
     *
     * @param connection
     * @param user
     * @return
     */
    int updateUserBySelf(Connection connection,User user);
}
